package com.xunyin.utils;

import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * 订单生成器
 *
 * @author Admin
 */
public class OrderNoUtil {

    /**
     * @return
     * @Title: 订单号生产器
     * @Description: 规则：缴费类型+年月日时分秒+5位数随机数+车牌
     * 缴费类型
     * 1001-临时车,
     * 1002-月租车,
     * 1003-预约,
     * 1004-充值
     * 1005-退款
     * 1006-欠费补缴
     * 1007-预约超时补缴
     * 1008-支付系统单号
     * 1009 支付系统退款
     * 1010 会客厅-下单订单号
     * 1011-会客厅支付单号
     * 1012 会客厅商品订单号和支付单号
     */
    public static String getOrderNo(String payType, String carNumber) {

        Date nowDate = new Date();

        String date = new SimpleDateFormat("yyyyMMdd").format(nowDate);
        String seconds = new SimpleDateFormat("HHmmss").format(nowDate);

        return payType + date + seconds + RandomUtil.getRandom(5) + carNumber;

    }


    /**
     * @return
     * @Title: 二维码编号
     * @Description: 规则：固定以G开头，优惠券以Y开头 + 年月日时分秒 + 4位随机数
     * 二维码类型 固定以G开头，优惠券以Y开头
     */
    public static String getCouponNo(String couponType) {
        Date nowDate = new Date();
        String date = new SimpleDateFormat("yyyyMMdd").format(nowDate);
        String seconds = new SimpleDateFormat("HHmmss").format(nowDate);
        return couponType + date + seconds + RandomUtil.getRandom(4);
    }


    /**
     * @param
     * @return
     * @Title: 流水号生产器
     * @Description: 规则：年月日时分秒+5位数随机数
     */
    public static String getFlowNo() {

        Date nowDate = new Date();

        String date = new SimpleDateFormat("yyyyMMdd").format(nowDate);
        String seconds = new SimpleDateFormat("HHmmss").format(nowDate);

        return date + seconds + RandomUtil.getRandom(5);

    }


    /**
     * @param
     * @return
     * @Title: 无牌车ETC号生产器
     * @Description: 规则：年月日时分秒+4位数随机数
     */
    public static String getNoCardsEtcNo(String ip) {

        Date nowDate = new Date();

        String date = new SimpleDateFormat("yyyyMMdd").format(nowDate);
        String seconds = new SimpleDateFormat("HHmmss").format(nowDate);
        ip = ip.replace(".", "");

        return ip + date + seconds + RandomUtil.getRandom(4);

    }


}
